



























































































doc/iteration1. Also need a written rationale accounted in the PDF



























parent.setEnabled(false);
parent.setAlwaysOnTop(false);
parent.setFocusableWindowState(false);
...
this.setAlwaysOnTop(true); <-- for modal






















































-Dusername=johndoe --Dusername=johndoe -username=johndoe --username=johndoe and System.getProperty can never find them?
I am putting them in the VM arguments just like in the pull request?

for(Enumeration e = System.getProperties().propertyNames(); e.hasMoreElements();) {
String key = (String) e.nextElement();
String value = System.getProperty(key);
System.out.println(key + ": " + value);
}






















































































































































solvedbyNumPlayers should be included or that should be included in the GET /puzzles/{id} request



















































users/johndoe?
I am sendingmy request with the auth header:
Authorization: johndoe (edited)
curl --location '10.0.0.23:1337/users/' \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{
"username": "johndoe"
}'


java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x000x9a0x010x000x000x960x030x030xf00x020xcf\VF\C0x990x0a0xa10xd92kZ~o?[0x01B0x8d0x0d0x1e}H0x990xc3<0xc90xb40xe00x000x000x1a0xc0/0xc0+0xc00x110xc00x070xc00x130xc00x090xc00x140xc00x0a0x000x050x00/0x0050xc00x120x000x0a0x010x000x00S0x000x050x000x050x010x000x000x000x000x000x0a0x000x080x000x060x000x170x000x180x000x190x000x0b0x000x020x010x000x000x0d0x00&0x00$0x060x010x060x030x060x020x050x010x050x030x050x020x040x010x040x030x040x020x030x010x030x030x030x020x020x010x020x030x020x020x010x010x010x030x010x020xff0x010x000x010x000x000x0f0x000x010x010x000x120x000x00...]. HTTP method names must be tokens at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:419) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:272) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.4.jar!/:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.4.jar!/:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
// don't do anything, if the request is a POST request and from /users endpoint
if(request.getMethod().equals("POST") && request.getRequestURI().equals("/users")) {
filterChain.doFilter(request, response);
return;
}
needs to be
// don't do anything, if the request is a POST request and from /users endpoint
if(request.getMethod().equals("POST") && request.getRequestURI().contains("/users")) {
filterChain.doFilter(request, response);
return;
}/users/

























PUT /puzzles/users/username/levelid/ with the solve time etc, and then call GET /users/username to get everything thats displayed in the congrats screen? (edited)








http://10.0.0.23:1337/puzzles/users/johndoe/1
Body:
{"levelId":1,"username":"johndoe","completed":false,"solveTime":0,"placedMarkers":[],"placedStars":[[0,0]],"starsRemaining":0,"id":null}
I am authorized as: johndoe (edited)









{
"timestamp": "2023-05-05T16:12:11.735+00:00",
"status": 405,
"error": "Method Not Allowed",
"path": "/puzzles/users/johndoe/1"
}
UserPuzzle '1-johndoe' not found.



curl --location --request PUT 'http://ericshome.xyz:1337/puzzles/users/johndoe/1/' \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{"levelId":1,"username":"johndoe","completed":false,"solveTime":0,"placedMarkers":[],"placedStars":[[0,0]],"starsRemaining":0,"id":null}'

curl --location 'http://ericshome.xyz:1337/puzzles/users' \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{
"levelId": 1,
"username": "johndoe"
}' is a 500




curl --request POST \
--url http://localhost:1391/users \
--header 'Content-Type: application/json' \
--data '{
"username": "johndoe"
}'
2. Create puzzle for johndoe
curl --request POST \
--url http://localhost:1391/puzzles/users \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{
"levelId": 1,
"username": "johndoe"
}'
3. Get puzzle for level 1 for johndoe
curl --request GET \
--url http://localhost:1391/puzzles/users/johndoe/1 \
--header 'Authorization: johndoe'
4. Update puzzle for johndoe
curl --request PUT \
--url http://localhost:1391/puzzles/users/johndoe/1 \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{"levelId":1,"username":"johndoe","completed":false,"solveTime":0,"placedMarkers":[],"placedStars":[[0,0]],"starsRemaining":0,"id":null}'





curl --request POST \
--url http://localhost:1391/users \
--header 'Content-Type: application/json' \
--data '{
"username": "johndoe"
}'
2. Create puzzle for johndoe
curl --request POST \
--url http://localhost:1391/puzzles/users \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{
"levelId": 1,
"username": "johndoe"
}'
3. Get puzzle for level 1 for johndoe
curl --request GET \
--url http://localhost:1391/puzzles/users/johndoe/1 \
--header 'Authorization: johndoe'
4. Update puzzle for johndoe
curl --request PUT \
--url http://localhost:1391/puzzles/users/johndoe/1 \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{"levelId":1,"username":"johndoe","completed":false,"solveTime":0,"placedMarkers":[],"placedStars":[[0,0]],"starsRemaining":0,"id":null}' curl --location 'http://ericshome.xyz:1337/puzzles/users' \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{
"levelId": 1,
"username": "johndoe"
}'


curl --request POST \
--url http://localhost:1391/users \
--header 'Content-Type: application/json' \
--data '{
"username": "johndoe"
}'
curl --request POST \
--url http://localhost:1391/puzzles/users \
--header 'Authorization: johndoe' \
--header 'Content-Type: application/json' \
--data '{
"levelId": 1,
"username": "johndoe"
}'
curl --request GET \
--url http://localhost:1391/puzzles/users/johndoe/1 \
--header 'Authorization: johndoe'
??


if(request.getMethod().equals("POST") && request.getRequestURI().contains("/users")) {
filterChain.doFilter(request, response);
return;
}














Caused by: java.lang.IllegalArgumentException: Conflicting property-based creators: already had implicitly discovered creator [constructor for webb.shared.dtos.user.UserDTO (1 arg), annotations: [null], encountered another: [constructor for webb.shared.dtos.user.UserDTO (2 args), annotations: [null]
On a new user account, when I checked my stats, it couldn't fetch the title for some reason?

Caused by: java.lang.IllegalArgumentException: Conflicting property-based creators: already had implicitly discovered creator [constructor for webb.shared.dtos.user.UserDTO (1 arg), annotations: [null], encountered another: [constructor for webb.shared.dtos.user.UserDTO (2 args), annotations: [null]
On a new user account, when I checked my stats, it couldn't fetch the title for some reason? 











